In modern video compression technology, a source video frame is often divided into rectangular or square blocks. For each block, motion estimation is done in order to find the best matched prediction block in reference frames that have the smallest rate and distortion errors. As a result, systems typically achieve high compression ratios while retaining acceptable video quality. In order to evaluate a candidate prediction block, residual data of prediction blocks are processed as follows (1) forward transform, (2) quantization, (3) de-quantization, (4) inverse transform, and (5) reconstruction. The reconstructed data is then compared with the source data to compute the distortion error.
In some applications, an encoder typically processes a large number of candidate prediction blocks to find the best match. In addition, the quantization process is one of the most heavily called functions. For example, the quantization process typically utilizes 10% or even 20% of the encoding time.
A more efficient (e.g., faster) video encoder is needed to save computing resources during compression. In some applications, such as video conferencing, an efficient encoder is essential. In order to provide a more efficient video encoder, a more efficient quantization process is needed.